from celery import Celery
#导入django环境,#加载django环境
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE","oasystem.settings.dev")
django.setup()

broker = 'redis://192.168.137.10/15'#broker任务队列
backend = 'redis://192.168.137.10/14'#结构存储，执行完的结果存在这里
app = Celery(__name__,broker=broker,backend=backend,include=['celery_task.emailtask','celery_task.task2'])

#定时任务，写到这里
#时区设置成东八区
app.conf.timezone='Asia/Shanghai'
#禁用格林威治时区
app.conf.enable_utc=False
#任务定时配置
from datetime import timedelta
from celery.schedules import crontab
app.conf.beat_schedule = {
    'low-task':{
        #指定要执行的任务
        'task':'celery_task.task1.add',
        #每10秒执行一次
        'schedule':timedelta(seconds=3),
        #每周一的7：30执行
        # 'schedule':crontab(hour=7,minute=30,day_of_week=1),
        'args':(300,150) ,#任务需要传递的参数
    }
}  #配置定时任务后，需要启动beat ，这个beat就是代替我们去手动点击运行，到时间就点击运行，执行定时任务
#另起terminal，切换到celery_task的上级目录执行：   celery -A celery_task beat -l INFO